The present invention concerns a communication method, a sending method, a receiving method and apparatuses implementing them.
The field of communication over a network between data processing apparatuses concerns in particular communication over a network from a computer, for example, known as a xe2x80x9cPCxe2x80x9d (initials of the English words xe2x80x9cPersonal Computerxe2x80x9d), provided with a network communication interface, known as an xe2x80x9cNICxe2x80x9d (initials of the English words xe2x80x9cNetwork Interface Cardxe2x80x9d).
It should be stated here that an input/output resource, such as for example a network resource, generally consists of a network communication interface, software for controlling this interface and a control and signalling software module which controls the operation of the control software and which organises the signalling of the transmission channel followed by the transmitted data.
The invention is concerned with the case where at least two data processing apparatuses communicate with each other, the data processing apparatuses here considered to be all the data processing apparatuses capable of implementing a communication.
When two data processing apparatuses communicate with each other, and must have access to a network, each of them must have its network access card. This solution has the drawback of imposing a complexity of hardware and software architecture, and therefore also a high total cost of the data processing apparatuses.
The document U.S. Pat. No. 5,581,709 (Mitsubishi Denki Kabushiki Kaisha) describes an apparatus enabling the central unit of a host system to access an input/output card situated in another system, as if the input/output card were connected directly to the bus of the host system. For this purpose, the central unit has, on the host bus, a physical address and a command operating on the bus. The input/output resources are thus shared at the physical level, insofar as the bus on which the input/output card is situated is allocated to a host system throughout the transaction, the host system having its own bus in the wait state throughout this period. Thus the same input/output card cannot be used by two different host systems simultaneously. Moreover, the apparatus according to the invention merely manages the elementary reading and writing transactions in the resource without managing the communication channel (or xe2x80x9cpathxe2x80x9d).
The present invention sets out to remedy these drawbacks. To this end, according to a first aspect, the present invention relates to a communication method in a second data processing apparatus having a microprocessor and memory, said method including the steps of:
sharing a network interface driver managed by a first data processing apparatus; and
transmitting primary information to the network interface driver which accesses to a network.
According to particular characteristics of the first aspect of the present invention, the communication method further includes:
performed by the second data processing apparatus, a step of associating, with the said primary information, additional information representing:
the communication protocol from where the primary information comes in the second data processing apparatus, and
input/output resource; and
performed conjointly by the two data processing apparatuses, a step of transmitting the said primary information and the said additional information from the second data processing apparatus to the first data processing apparatus.
According to a second aspect, the present invention relates to a communication method in a first data processing apparatus having a microprocessor and memory, said method including the steps of:
executing a network interface driver managed by the data processing apparatus; and
transmitting primary information coming from the network interface driver which accesses to a network to a second data processing apparatus.
According to particular characteristics of this second aspect of the present invention, the communication method further includes:
performed by the first data processing apparatus, a step of associating, with the said primary information, additional information representing:
the communication protocol for which the primary information is intended in the first data processing apparatus, and
input/output resource; and
performed conjointly by the two data processing apparatuses, a step of transmitting the said primary information and the said additional information from the first data processing apparatus to the second data processing apparatus.
By virtue of each of these provisions, the additional information enables the second data processing apparatus, which does not have the input/output resource in question:
to use the input/output resource (for example the access to the network) incorporated in the first data processing apparatus,
in order to transmit the user data by implementing the communications protocol under consideration, and
to continue a communication session which has already been opened and to transfer the user information directly by means of the said input/output resource.
The present invention therefore makes it possible to share the input/output resource between the two data processing apparatuses, although this resource is physically linked only to one of the communication apparatuses.
Finally, the duration of communication is generally reduced, since the network communication interface, for example, minimises the number of data copies.
According to particular characteristics of the first aspect of the present invention, after the operation of transmitting the sets of information, the first data processing apparatus performs an operation of dissociating the set of additional information on the one hand and the set of user information on the other hand.
By virtue of these provisions, the additional information is not transmitted to the input/output resource, and therefore, for this resource, just as for the network and the recipient of the set of user information, the latter is presented in the same way, whether it comes from the first data processing apparatus or from the second data processing apparatus.
Correlatively, according to particular characteristics of the second aspect of the present invention, after the operation of transmitting the sets of information, the second data processing apparatus performs an operation of dissociating the set of additional information on the one hand and the set of user information on the other hand.
By virtue of these provisions, the application or the protocol for which the set of user information is intended receives in the same way the sets of user information which come from, or are intended for, the second data processing apparatus for those which come from, or are intended for, the input/output resource managed by the first data processing apparatus.
According to particular characteristics of the first aspect of the present invention, during the operation of transmitting the said sets of information, the method includes:
performed by the second data processing apparatus, a step of storing in an intermediate storage means, and
performed by the first data processing apparatus, a step of reading from the said intermediate storage means.
Correlatively, according to particular characteristics of the second aspect of the present invention, during the operation of transmitting the sets of information, the method includes:
performed by the first data processing apparatus, a step of storing in an intermediate storage means, and
performed by the second data processing apparatus, in step of reading from the said intermediate storage means.
By virtue of each of these provisions, the storage means is accessed, independently, in write and read mode, by each of the data processing apparatuses, without it being necessary for these data processing apparatuses to operate either synchronously or even at the same frequency, without it being necessary for the addresses used for accessing the storage means necessarily to be identical, and without a conjoint initialisation of the different data processing apparatuses being necessary.
The architectures of the data processing apparatuses can therefore be designed independently and operate independently, for example using different operating systems, outside the phases of communication between these data processing apparatuses.
This therefore makes it possible, in particular, to choose a apparatus architecture and an operating system which is best adapted to the management of the input/output card.
According to particular characteristics of each aspect of the present invention, during the operation of associating with the said set of user information, the set of additional information also represents the type of user information, this type being able to correspond on the one hand to signalling and/or control information, intended to be interpreted for using the input/output resource or on the other hand to information to be transmitted at a distance.
By virtue of these provisions, the first data processing apparatus can easily identify whether the set of user information is intended for the driver of the input/output resource or for the signalling and/or control module of this driver.
According to particular characteristics of each aspect of the present invention, during the operation of association with the said set of user information, the set of additional information also represents the data processing apparatus from where the said set of user information comes.
According to particular characteristics of each aspect of the present invention, during the operation of association with the said set of user information, the set of additional information also represents the data processing apparatus for which the said set of user information is intended.
By virtue of each of these provisions, in the case where several data processing apparatuses can have data to transmit or to receive by means of the input/output resource managed by the first data processing apparatus, the first data processing apparatus can easily identify the data processing apparatus which is communicating.
According to a third aspect, the present invention relates to a second data processing apparatus including:
means for sharing a network interface driver managed by a first data processing apparatus; and
means for transmitting primary information to the network interface driver in order to communicate with other data processing apparatus via a network.
According to a fourth aspect, the present invention relates to a first data processing apparatus including:
means for executing a network interface driver managed by the data processing apparatus; and
means for transmitting primary information coming from the network interface driver to a second data processing apparatus.
The invention also relates to a storage means for storing instructions which, when executed by a microprocessor of a second data processing apparatus, cause the second data processing apparatus to perform the steps of:
sharing a network interface driver managed by a first data processing apparatus; and
transmitting primary information to the network interface driver which accesses to a network.
The invention also relates to a storage means for storing instructions which, when executed by a microprocessor of a first data processing apparatus, cause the first processing apparatus to perform the steps of:
executing a network interface driver managed by the data processing apparatus; and
transmitting primary information coming from the network interface driver which accesses to a network to a second data processing apparatus.
The invention also relates to:
a computer, characterised in that it has an apparatus as briefly disclosed above,
a network, characterised in that it includes an apparatus as briefly disclosed above, each input/output resource being connected to the said transmission channel,
a printer, characterised in that it includes an apparatus as briefly disclosed above,
a scanner, characterised in that it includes an apparatus as briefly disclosed above,
a facsimile machine, characterised in that it includes an apparatus as briefly disclosed above,
a photocopier, characterised in that it includes an apparatus as briefly disclosed above,
a camera, characterised in that it includes an apparatus as briefly disclosed above, and
a photographic apparatus, characterised in that it includes an apparatus as briefly disclosed above,
The apparatuses according to the third and fourth aspect of the present invention, these storage means, as well as this computer, this network, this printer, this scanner, this facsimile machine, this photocopier, this camera and this photographic apparatus, have the same particular characteristics and the advantages as the method briefly disclosed above. These advantages are therefore not restated here.